/*
 * @lc app=leetcode.cn id=1143 lang=java
 *
 * [1143] 最长公共子序列
 */

// @lc code=start
class Solution {

    public int longestCommonSubsequence(String text1, String text2) {

        int m = text1.length() + 1;
        int n = text2.length() + 1;

        int [][] dp = new int[m][n];
        for (int i = 1; i < m; i++) {
            for (int j = 1; j < n; j++) {
                System.out.println("i " + i + " j " + j);
                if (text1.charAt(i-1) == text2.charAt(j-1)) {
                    dp[i][j] = 1 + dp[i-1][j-1];
                } else {
                    dp[i][j]= Math.max(dp[i-1][j], dp[i][j-1]);
                }
            }
        } 
        return dp[m-1][n-1];
    }
}
// @lc code=end

